AI时代的网络:网络定义数据中心(白皮书)
引言
数十年来,传统云数据中心专注于为广泛的用户群体提供多元化资源支持。随着基础设施组件虚拟化技术的不断进步,系统和应用程序能够根据需求迅速启动和扩展。这些数据中心在支撑多样化的用户和业务应用方面表现出色,同时也能够应对通过商用以太网连接的小规模工作负载。然而,以太网在扩展至更多节点时性能受限,并不适用于高性能计算场景。
如今,我们迎来了新型数据中心——AI云和AI工厂,它们迫切需要加速计算和高性能网络来支撑人工智能的发展。因此,当前超大规模和云部署的格局正在发生深刻变革。借助GPU加速的计算架构,AI研究人员和从业者能够充分利用分布式加速计算的能力,这在以前是无法实现的。
数据中心网络正扮演着引领AI进步和性能提升的关键角色,它作为分布式AI模型训练或利用生成式AI强大能力时的数据中心骨干,承载着重要的使命。
人工智能是一个分布式计算问题
传统数据中心计算模式是指所有计算资源,包括服务器、存储和网络设备,均集中在同一物理位置或设施内。而分布式计算则涉及利用多个互连的服务器或节点协同执行任务或处理过程。在这种模式下,工作负载被分散到通过高速、低延迟网络连接的不同机器上。
部署生成式AI应用或训练基础人工智能模型,如ChatGPT、BERT或DALL-E等,通常需要庞大的计算资源支持,特别是对于大型和复杂模型而言。随着数据量和模型规模的快速增长,分布式计算成为解决这一挑战的关键手段。它通过在工作负载上跨多个互连的计算节点进行分配,从而加速训练过程。值得注意的是,单个分布式任务的执行时间往往由最慢的参与节点决定。因此,网络在确保消息及时、准确地到达所有参与节点方面发挥着至关重要的作用。这使得尾延迟——即最后一条参与消息的到达时间——变得尤为关键,特别是在大规模数据中心部署和存在竞争性工作负载的环境下。此外,网络在支撑大型人工智能模型训练、处理海量数据以及应对节点数量不断增长等方面的能力也至关重要。
为人工智能构建网络
在评估数据中心采用人工智能的网络架构时,需将其视作一个综合性的、集成的端到端方案,并特别关注分布式计算的核心作用。这一架构还应囊括实现数据中心规模性能、成本优化与价值提升所需的所有关键属性、流程、通信库和技术。
无损网络与RDMA 自适应路由与乱序数据包 拥塞控制 安全性与性能隔离 在网计算(In-Network Computing) 避免常见误区
NVIDIA Spectrum-X:专为生成式AI时代设计
AI云作为支持生成式AI工作负载的新型数据中心类别,正日益受到业界的关注。这类数据中心不仅继承了传统云的核心功能,如多租户支持、安全性保障和多样化的工作负载支撑,更在支持更大规模的生成式AI应用方面展现出卓越能力。生成式AI是一类基于训练数据生成新输出的人工智能算法,其以图像、文本、音频等多种形式创造全新内容,与旨在识别模式和进行预测的传统人工智能系统形成鲜明对比。NVIDIA Spectrum-X正是为构建以太网多租户、超大规模AI云而精心设计的革命性解决方案,它完美契合了生成式AI时代的发展需求。
无损网络与RDMA
在有损网络环境中,数据传输过程中面临着丢失或质量下降的风险。这种网络倾向于优先考虑数据传输的速度而非准确性。然而,对于AI应用而言,丢包导致的后果可能是灾难性的,包括性能下降、GPU资源的空闲浪费以及功耗的额外开销。
无损网络则完全改变了这一局面。在这种网络中,数据传输的完整性得到严格保障,所有数据包都能够准确无误地到达目的地。尽管以太网最初的设计确实允许一定的丢包率,但在InfiniBand网络中,无损是基本要求,并已成为大规模部署的行业标准。随着GPU计算和大规模AI应用场景在云环境中的广泛应用,以太网也通过采用RoCE(RDMA over Converged Ethernet)和基于优先级的流量控制(PFC,Priority Flow Control)等技术,结合无损网络的实现,如NVIDIA Spectrum-X,为AI应用提供了更加可靠和高效的解决方案。
远程直接内存访问(RDMA,Remote Direct Memory Access)技术的出现,进一步提升了网络传输的效率。它允许数据在远程系统、GPU和存储器之间直接传输,无需经过CPU的干预。传统的网络传输方式涉及多个复杂的步骤,包括数据的复制、网络发送以及接收方的多步骤处理。而RDMA则直接跨越了这些繁琐的中间环节,实现了数据的高效传输。
自适应路由、多路径与数据包喷洒
传统数据中心的应用程序通常会产生大量的小数据流,这使得网络流量的统计平均值能够反映整体情况。在这种背景下,基于简单静态哈希的路由算法,如等价多路径(ECMP,Equal Cost Multi-Path),足以应对常见的网络流量问题。
然而,人工智能工作负载的特性却截然不同。它们通常会产生少量的大数据流,被称为“大象流”(elephant flows)。这些大象流会占用大量的链路带宽,如果多个大象流被路由到同一链路,就会导致严重的拥塞和高延迟。在人工智能应用中,即使是在非阻塞拓扑中使用ECMP,大象流之间的碰撞几率也非常高。由于AI作业的性能高度依赖于最坏情况下的表现,这些碰撞会导致模型训练时间既超出预期又变得极为不稳定。
因此,我们需要引入自适应路由算法来动态平衡网络中的数据传输。此外,路由的精细度也至关重要,以避免大象流之间的碰撞。即使按流量进行路由,仍然存在拥塞的可能性。然而,当采用数据包喷洒(Packet Spraying)技术,即按每个数据包进行路由时,数据包可能会以无序的方式到达目的地。为了实现数据包粒度的自适应路由,我们需要建立灵活的重新排序机制,确保自适应路由对应用程序来说是透明的。NVIDIA Spectrum-X通过结合Spectrum-4交换机的负载平衡能力与BlueField-3 DPU的直接数据放置(DDP,Direct Data Placement)功能,实现了端到端的自适应路由,为AI应用提供了强大的网络支撑。
拥塞控制
在繁忙的多租户AI云环境中,不同AI作业并行运行时,网络拥塞问题往往难以避免。尤其是当大量发送方试图向单一目的地或不同目的地(这些目的地可能已受到其它应用背景流量的影响)传输数据时,网络拥塞现象尤为显著。这种拥塞不仅会导致延迟飙升和有效带宽急剧缩减,还可能引发网络“热点”的扩散,造成相邻租户的相互干扰,即受害者效应。
传统的拥塞控制方法,如显式拥塞通知(ECN,Explicit Congestion Notification),在支持生成式AI的以太网环境中显得捉襟见肘。为了有效缓解拥塞,负责数据传输的网络设备(如NIC或DPU)必须进行精确的流量控制。然而,ECN机制在交换机缓冲区接近满载时才开始发挥作用,此时接收方会通知发送方限制其发送速率。但在大规模AI模型常见的突发流量场景下,这种延迟的拥塞反馈可能导致缓冲区迅速填满,进而引发丢包问题。尽管深度缓冲交换机能够降低缓冲区溢出的风险,但它们引入的额外延迟却削弱了拥塞控制的初衷。
实现高效的拥塞控制需要交换机与NIC/DPU之间的紧密协作。NVIDIA Spectrum-X正是通过利用Spectrum-4交换机的带内、硬件加速的遥测数据,为BlueField-3 DPU提供实时的流量计量信息。相比之下,其它解决方案往往依赖于深度缓冲区交换机和复杂的专有协议,这不仅不适合AI应用,还可能导致与标准以太网的兼容性问题。
性能隔离与安全性
多租户环境如AI云,必须确保各个作业之间的性能隔离,以免受到其它作业的网络流量干扰。遗憾的是,许多以太网ASIC设计在性能隔离方面考虑不足。这导致某些作业在面临“近邻干扰”(noisy neighbor)(即向同一端口发送流量的相邻作业)时,其有效带宽可能会急剧下降。
以太网网络在设计时还需考虑网络公平性。AI云应支持多种异构应用程序的混合运行。由于不同应用程序可能使用不同大小的数据帧,如果没有适当的隔离优化措施,大数据帧可能会占用过多的带宽资源,导致小数据帧传输受阻。
实现性能隔离和防止“近邻干扰”的关键在于采用共享数据包缓冲区。通过为所有作业提供平等的缓存访问权限,共享缓冲区能够确保混合AI云工作负载的稳定性和低延迟。
除了从带宽角度考虑性能隔离外,我们还应认识到性能隔离与零信任架构对于多租户环境网络安全的重要性。数据无论是在静止状态还是传输过程中,都需要得到严格的保护。高效的加密和认证工具能够在不牺牲性能的前提下提供强大的安全保障。BlueField-3 DPU(兼容以太网和InfiniBand)集成了安全引导功能,为基于硬件的信任根提供了坚实基础,并支持MACsec和IPsec等协议用于数据加密,以及AES-XTS 256/512等加密算法用于静态数据的保护。
NVIDIA Quantum InfiniBand:为人工智能量身打造
NVIDIA Quantum InfiniBand,作为一款专为大规模科学计算设计的无损网络技术,已经成功支持了众多超级计算部署。其超低延迟、原生RDMA架构以及在网计算能力,使其成为性能卓越的标杆,并在推动当今主流AI开发和部署方面发挥着至关重要的作用。
面向大规模、大型工作流或大型AI基础模型开发的AI工厂应运而生。基础模型作为构建更高级和复杂模型的基础,需要在海量的原始数据上进行训练,这些数据通常分散在整个数据中心内。因此,AI工厂的网络性能应该能够提供可扩展的性能,支持数百甚至数千个GPU协同工作,用于单个应用程序,比如人工智能模型训练。NVIDIA Quantum InfiniBand凭借其卓越的网络性能和功能集,为开发者和科研人员提供了前所未有的支持,包括在网计算功能,以加速AI系统中广泛使用的集体通信操作。
集体计算
集体通信算法在确保分布式节点之间高效协同通信方面起着至关重要的作用。它们对于提升大规模模型的训练效率、减少通信开销以及充分利用多个节点的集体计算能力具有重要意义。这些算法通过优化分布式训练过程,实现了模型收敛的加速和性能的提升。
为了充分发挥跨多个节点内外的GPU性能,深度学习框架已经开发出了一系列的集体通信库。其中,NVIDIA集体通信库(NCCL,Collective Communication Library)是一个重要的例子。它实现了全归约、全收集、归约、广播、归约-散开等通信算法,并能够在使用PCIe和/或NVLink的任何平台上实现高带宽。此外,NCCL还支持通过NVSwitch、InfiniBand或以太网在多台机器之间实现扩展。
在网计算
在网计算是专门为InfiniBand架构开发的一项创新性能。通过将硬件计算引擎集成到网络中,在网计算能够在规模上卸载复杂操作,从而显著提升性能。在NVIDIA Quantum InfiniBand交换机上,这一功能以NVIDIA可扩展分层聚合和归约协议(SHARP,Scalable Hierarchical Aggregation and Reduction Protocol)的形式实现。
SHARP作为一个基于树的聚合机制,能够在网络内部同时执行多个集体操作。当启用SHARP时,交换机将作为聚合节点,负责执行数据归约等任务。在多个多GPU节点上执行通信算法时,NCCL充分利用了SHARP的这一特性。通过仅发送一次数据来执行操作,SHARP有效地将数据归约的带宽加倍。因此,相较于不使用SHARP的800Gb/s端到端网络,在采用NVIDIA Quantum-2 400Gb/s InfiniBand网络的端到端运行环境中,NCCL的性能表现更为出色。
NVIDIA Quantum InfiniBand自适应路由机制
NVIDIA Quantum InfiniBand,作为一款完整的软件定义网络(SDN)解决方案,其核心管理功能由子网管理器(SM)软件实现。这一集中式管理工具负责根据实时网络条件为交换机配置最佳路由选择。交换机ASIC在决策过程中,会优先选取最空闲的输出端口,以确保网络性能达到最优状态。在选择不同输出交换机端口时,会综合考虑出口端口的队列深度以及路径优先级,其中最短路径通常享有更高的优先级。
InfiniBand的自适应路由机制通过智能地将流量分散至所有可用网络链路,实现链路利用率的提升和负载平衡,从而最大化整体网络性能。值得注意的是,这种自适应路由可能会导致数据包以非顺序方式到达目的地。然而,InfiniBand作为一个端到端的通信协议,内建了相应的硬件功能来妥善管理无序到达的数据包,确保数据传输的完整性和准确性。
NVIDIA Quantum InfiniBand拥塞控制机制
NVIDIA Quantum InfiniBand提供了一套全面且可扩展的服务质量(QoS)管理方法。其核心在于采用基于信用的流控制机制,精细调节发送方与接收方之间的数据流,从而确保带宽的确定性以及延迟的可控性。
InfiniBand的拥塞控制架构(CCA,Congestion Control Architecture)是一个精心设计的三阶段过程,用于有效管理网络拥塞事件。当交换机检测到拥塞状况时,它会启动前向显式拥塞通知(FECN,Forward Explicit Congestion Notification)机制,在数据包中标记相应的比特位。当数据包抵达目的适配器时,目的适配器会生成一个具有不同比特设置的数据包作为回应,即后向显式拥塞通知(BECN,Backward Explicit Congestion Notification),发送给源适配器。一旦发送方或源适配器接收到BECN,它会相应地减少数据包的发送速率,以缓解网络拥塞。
避免常见误区
持续发展新兴AI技术 交换机Radix是关键指标 浅缓冲与深缓冲架构 网络韧性技术
底层网络最终决定了数据中心的运行类别以及预期的性能和效率水平。因此,消除这些误区并采用一种综合的网络设计方法至关重要。这种方法应平衡性能、安全性和灵活性,以确保网络能够与数据中心的任务保持一致,无论它是支持AI云还是AI工厂。
持续发展新兴AI技术
InfiniBand以其卓越的扩展性和通信效率,有效应对了GPU加速器、服务器、存储系统和其它组件间日益增长的高速通信需求。其灵活的架构设计允许在不进行颠覆性技术变革的前提下,引入新功能和技术。这种内在的可适应性使得InfiniBand能够轻松吸纳新技术,并持续应对未来技术环境带来的挑战与需求。
直通转发交换与端到端链路速度
以太网在数据处理时采用了存储转发(store-and-forward)交换和直通转发(cutthrough)交换两种模式。存储转发交换在数据帧完全接收后才进行转发,而直通转发交换则采取即时发送的策略。对于AI工作负载而言,直通转发交换通常更为理想,因为它能够减少数据在网络中的驻留时间,进而提升整体性能。
直通转发交换要求端到端链路速度保持一致。网络设计中如果改变链路速度(例如从主机到叶子的400Gb/s降至叶子到脊的4 x 100Gb/s),将需要采用流量分流和存储转发交换机制。这种设计引入的延迟惩罚在处理AI训练中常见的大数据帧时尤为显著。为了优化网络以更好地适应AI工作负载,Spectrum-X采用了端到端直通转发连接性设计。
交换机Radix与AI可扩展性
交换机Radix,即交换机所支持的逻辑MAC数量,过去常被用作衡量交换机可扩展性的关键指标。高Radix交换机能够连接更多主机,适用于特定数量的网络层级。
然而,随着AI技术的迅速发展,这一传统观念正在发生转变。有效带宽、延迟和尾延迟已成为衡量网络性能的关键因素,而这些指标与交换机Radix规模并无直接关联。尽管高Radix交换机能够以较低的成本连接更多GPU,但这往往以牺牲应用程序性能和降低投资回报率为代价。对于诸如NCCL全互通等集体操作而言,保持网络各层级具有相同的高速传输速率至关重要,因此不建议通过拆分流量来利用Radix规模带来的潜在优势。
交换机缓冲区架构
在探讨交换机缓冲区架构时,我们注意到InfiniBand交换机以其“浅”缓冲区设计而著称,而以太网交换机则呈现出更为多样的形态,包括“深”缓冲区交换机和“浅”缓冲区交换机。深缓冲区交换机,其缓冲区容量高达数GB,与浅缓冲区交换机(如Spectrum以太网交换机)的几MB形成鲜明对比。这种设计上的差异源自深缓冲区交换机最初为路由和广域网(WAN)等不同用途而量身打造,因而与传统浅缓冲区以太网交换机在架构上大相径庭。深缓冲区交换机系统常采用模块化设计,配备大型机箱交换机和线路卡,以应对复杂的网络需求。
尽管深缓冲区交换机功能丰富,支持数据中心互连(DCI)和电信网络所需的大规模部署,但它们并未针对AI网络进行优化。深缓冲区交换机固然能够容纳更多的数据流量,对微小的突发流量也不甚敏感,但更大的数据容量往往伴随着更高的尾延迟,进而增加了平均延迟和抖动。这一特点对于依赖最坏情况延迟的AI工作负载来说尤为不利,可能导致任务完成时间延长,训练周期增长。
网络链路故障的韧性设计
NVIDIA Quantum InfiniBand交换机以其独特的自我修复能力脱颖而出。这种自我修复机制赋予交换机在链路故障发生时快速纠正通信的能力,从而避免了昂贵的重传或完全故障。
与传统的以太网应用负载相比,AI生成的流量具有多样性、突发性和对网络故障的高度敏感性。例如,当从叶子节点到脊节点的链路出现故障时,多个机架上的GPU节点可能受到影响,从而导致全互通性能的大幅下降。然而,传统的基于以太网的冗余措施,如EVPN多归属或MLAG,往往无法有效解决这一问题。
为了应对AI工作负载对韧性的高要求,Spectrum-X提供了针对双/多轨主机设计的最佳解决方案。通过额外的NIC端口实现完全的硬件冗余,并配备智能交换机,能够根据链路故障的检测实时调整负载平衡。这种设计确保了AI工作负载在网络故障发生时仍能保持高效、稳定的数据传输,为AI应用提供了最优化的运行环境。
AI云管理
管理一个服务于数千用户的AI云数据中心需要一套全面且高效的管理工具集,以确保运营顺畅、监控到位、安全保障及资源合理分配。尽管AI工厂在多数情况下并不依赖于这些工具,但AI云却离不开定制的云管理平台(CMP,Cloud Management Platform)来支撑其云基础设施的管理与自动化。尽管这些管理和配置生态系统通常是以太网原生的,但它们同样可以被开发并集成至InfiniBand环境中。
在部署AI云时,并不需要重新投资建立全新的资源配置、工作负载编排和用户访问控制生态系统。通常,可以复用那些支持虚拟化管理、编排云基础设施中的容器和服务,以及监控资源健康状态和性能表现的现有生态系统。在选择作为AI数据中心核心技术的网络类型时,这种方法通常会被纳入考量之中。
结语
人工智能工作负载对数据中心网络架构提出了全新的挑战与需求。网络作为数据中心的基石,更扮演着人工智能基础设施的重要支柱角色。在部署用于生成式人工智能和基础模型的数据中心时,对网络能力的全面考量以及端到端实现策略的制定显得尤为重要。
Source:Networking for the Era of AI: The Network Defines the Data Center; SEPTEMBER 2023
---【本文完】---
近期受欢迎的文章:
更多交流,可添加本人微信
(请附姓名/关注领域)